1. Field of the Invention
The present invention relates generally to the field of user interfaces within a data processing system and more particularly, to a user definable interface overlay capable of manipulating multiple functions and windows in a graphical display.
2. Background Art
The manipulation of data in a data processing system is well known in the art and the large amounts of data that are available to the user of a modern state-of-the-art data processing system often become overwhelming in magnitude and complexity. Similarly, many consumer devices have interfaces requiring human interaction to control the device or a peripheral connected thereto. As a result of this increasing complexity, simplified interface methods and systems are needed between the user and the data processing system or device.
One example of a simplified system and method is the utilization of a graphic user interface (“GUI”). A GUI is an interface system by which a user interacts with system components, and/or system applications via a visible display having, for example, windows or view ports, icons, menus, pointing devices, etc. One of the many advantages of GUIs in the computer field is their ability to represent computer application programs, documents and data as graphical display elements or icons as opposed to text-based elements.
Menu driven software programs are a specific example of a GUI. Such software programs enable a user to chose from a list of items that can be accessed directly by pulling down different menus from the menu bar, rather than requiring the user to remember the name and syntax of a command. GUIs were developed so that novice users could more easily make a selection among available commands and, thus, operate computers. In the computer field, these menu driven software programs eventually lead to the development of a windowing environment in which the user may have multiple programs and files operable at one time with a selection among multiple commands. Each command appears in a window of the program data file being worked on. To effect selection within applications and switching between windows, a hand operated pointing device becomes a critical component of a computer system running windows based software applications. One example pointing device is a mouse.
Applications running in a windowed environment typically have a main menu bar with more specific commands being displayed in “pull down” menus stemming from specific portions of the main menu bar command headings. When the user wants to execute a command, the user must move the pointing device so that a cursor on the display points to the command on the desired menu heading. The command heading activates a pull down menu that displays a plurality of commands available for execution. In some instances, computer systems create hierarchies of menus (also referred to as “nesting”) leading to submenus to avoid excessively large menus or inappropriate menu chains. A command from the pull down menu may then be selected for execution. In accordance with conventional methods, only one command is executed at any given time since the pull down menu is typically limited to a single column of possible choices or objects. Movement amongst the menu bar and the pull down menus requires a great deal of movement of the pointing device (and thereby the cursor) to manipulate multiple windows or applications and their related commands. This movement is called “cursor commute.” This results in a time-consuming, less efficient and confusing user interface. Therefore, it is difficult for the young, the elderly, handicapped, or any novice user to traverse and coordinate the position of the pointing device and, thus, the cursor with which the execution is made.
One attempt to avoid a long horizontal list of menu options has resulted in “pop-up menus.” These menus have the advantage of bringing the menu to the cursor, rather than having to move the cursor to the menu. When a trigger event occurs, for example depressing the right button (known in the art as “right clicking”) on the pointing device (e.g., a mouse), a window is displayed next to the cursor position and the menu items to be related are listed. When the user chooses a menu item, the menu is removed and the action corresponding to the item is initiated. Pop-up menus, however, are limited to the number of commands they can contain and they often cover up part of the work area.
Pie menus enhance pop-up menus by allowing directional selection to choose menu items. A pie menu is similar to a pop-up menu, but the pie shaped menu items surround the cursor position in a circle. In their two-dimensional form, pie menus may be round menus. The menu items are positioned around a small inactive region in the center of the circle like slices of a pie, rather than in rows or columns as in conventional linear menus. In operation, the cursor is initially located in the center of the pie in a small inactive region. The active regions representing the menu items are therefore adjacent the cursor, but each in a different direction, and menu items are selected by clicking the mouse and then pointing in the direction of the menu item.
What is needed is an interface to provide users with a definable interface that minimizes cursor commute and does not clutter the work area.